Extract Class Refactoring by analyzing class variables
نویسندگان
چکیده
Figure 6: Strongly related (SSM based) functional sets and similarities between them, Case Study I. Nodes represent set of closely related methods; weight of the edge between two nodes represents the average value of SSM among the methods of the corresponding sets. Non trivial sets are represented by smaller circles and are merged with trivial sets (bigger circles) of the same color.. Figure 11: SSM based graph, case study I, minCoupling = 0 – This is a graphical representation of the SSM based structural similarity between every pair of methods Figure 12: VSM based graph, case study I, minCoupling = 0 – This is a graphical representation of the VSM based structural similarity between every pair of methods Figure 13: SSM matrix representation, case study I, minCoupling = 0 – This is the matrix representation of the SSM based structural similarity between every pair of methods vi Figure 14: VSM matrix representation, case study I, minCoupling = 0 – This is the matrix representation of the VSM based structural similarity between every pair of methods Figure 15: SSM based graph, case study I, minCoupling = 0.72 – This is a graphical representation of the SSM based structural similarity between every pair of methods Figure 16: VSM based graph, case study I, minCoupling = 0.69 – This is a graphical representation of the VSM based structural similarity between every pair of methods Figure 17: SSM matrix representation, case study I, minCoupling = 0.72 – This is the matrix representation of the SSM based structural similarity between every pair of methods for the input class .. Figure 18: VSM matrix representation, case study I, minCoupling = 0.69 – This is the matrix representation of the VSM based structural similarity between every pair of methods for the input class .. Figure 19: SSM matrix representation, case study II, minCoupling = 0 – This is the matrix representation of the SSM based structural similarity between every pair of methods Figure 20: VSM matrix representation, case study II, minCoupling = 0 – This is the matrix representation of the VSM based structural similarity between every pair of methods Figure 22: VSM matrix representation, case study II, minCoupling = 0.78 – This is the matrix representation of the VSM based structural similarity between every pair of methods for the input class ..
منابع مشابه
Identifying Clusters of Concepts in a Low Cohesive Class for Extract Class Refactoring Using Metrics Supplemented Agglomerative Clustering Technique
Object oriented software with low cohesive classes can increase maintenance cost. Low cohesive classes are likely to be introduced into the software during initial design due to deviation from design principles and during evolution due to software deterioration. Low cohesive class performs operations that should be done by two or more classes. The low cohesive classes need to be identified and ...
متن کاملIdentification and application of Extract Class refactorings in object-oriented systems
Refactoring is recognized as an essential practice in the context of evolutionary and agile software development. Recognizing the importance of the practice, modern IDEs provide some support for low-level refactorings. A notable exception in the list of supported refactorings is the “Extract Class” refactoring, which is conceived to simplify large, complex, unwieldy and less cohesive classes. I...
متن کاملRefactoring and representation independence for class hierarchies
Refactoring transformations are important for productivity and quality in software evolution. Modular reasoning about semantics preserving transformations is difficult even in typed class-based languages because transformations can change the internal representations for multiple interdependent classes and because encapsulation can be violated by pointers to mutable objects. In this paper, an e...
متن کاملARIES: An Eclipse plug-in to Support Extract Class Refactoring
During Object-Oriented development, developers try to define classes having (i) strongly related responsibilities, i.e., high cohesion, and (ii) limited number of dependencies with other classes, i.e., low coupling [1]. Unfortunately, due to strict deadlines, programmers do not always have sufficient time to make sure that the resulting source code conforms to such a development laws [8]. In pa...
متن کاملKABA - a system for refactoring Java programs
Refactoring is a well known technique to enhance various aspects of an object-oriented program. It has become very popular during recent years, as it allows to overcome deficits present in many programs. Doing refactoring by hand is almost impossible due to the size and complexity of modern software systems. Automated tools provide support for the application of refactorings, but do not give hi...
متن کامل